<%
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", -1); //prevents caching at the proxy server
%>
<%@page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*,java.text.*,java.util.*"%>
<%@ page import="java.text.SimpleDateFormat, java.util.Date"%>
<%@ include file="Connections/conDB.jsp" %>
<% int validaSession = 1; %>
<%@ include file="Connections/session.jsp" %>

<html>
<head>
<title>CIMA v2 - TFM Reporte Facturadas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="miestilo.css" type="text/css">
<SCRIPT LANGUAGE="JavaScript" SRC="js/AnchorPosition.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="js/PopupWindow.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="js/date.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="js/CalendarPopup.js"></SCRIPT>
<script>
var cal1 = new CalendarPopup();
//----------
   function limpiar() {
	   document.form1.motivo.value = "";
	   document.form1.Origen.value = "";
	   document.form1.Destino.value = "";
	   document.form1.recepciondesde.value = "";
	   document.form1.hasta.value = "";
	   document.form1.conciliaciondesde.value = "";
	   document.form1.conciliadohasta.value = "";
   }
//-----------
var win1 = null;
var win2 = null;
//----------
	function abrircatalogo1() {
		win1 = window.open('almacen_catalogo.jsp?campo1=Origen&campo2=IdOrigen&campo3=A','Almacen','top=230,left=200,width=300,height=285');
	}
//----------
	function abrircatalogo2() {
		win1 = window.open('almacen_catalogo.jsp?campo1=Destino&campo2=IdDestino&campo3=B','Almacen','top=230,left=200,width=300,height=285');
	}
//----------
	function abrircatalogo3() {
		win2 = window.open('motivolote_catalogo.jsp?campo1=motivo&campo2=IdLote&campo3=B','Almacen','top=230,left=200,width=300,height=280');
	}
//----------
	function filtrar(){
		document.form1.action= "concilTFM_repFact.jsp";
		document.form1.submit();
	}
//----------
function calendario(campo, imagen) {
	cal1.select(campo,imagen,'dd/MM/yyyy');
	//onClick="cal1.select(document.form1.fechaDe,'imgFD','dd/MM/yyyy'); return false;"
}
//--------
	function cerrarventanas() {
		obj1 = eval("win1");
			if (obj1 && !obj1.closed) {
				obj1.close();
			}
		obj2 = eval("win2");
			if (obj2 && !obj2.closed) {
				obj2.close();
			}
	}
//---------
</script>
<%
 String cadvacia = "";
 String Despliegue = "";

 String motivo = "";
 String IdLoteS = "";
 int IdLote = 0;

 String IdDestinoS = "";
 int IdDestino = 0;
 String destino = "";

 String IdOrigenS = "";
 int IdOrigen = 0;
 String origen = "";

 String cargadesde = "";
 String hasta = "";
 String conciliadodesde = "";
 String conciliadohasta = "";
 String checardetalle = "";
 String checarconsolidado = "";
 Despliegue = (String) request.getParameter("opciondespliegue") == null ? "0" : (String) request.getParameter("opciondespliegue");
 //out.println("<br> Despliegue  -- "+Despliegue);
 if (Despliegue.equals("0") || Despliegue.equals("1")) {
 	checardetalle = "CHECKED";
 }
 if (Despliegue.equals("2")) {
 	checarconsolidado = "CHECKED";
 }
	int Grupo1Visible = 0;
	int Grupo2Visible = 0;
 motivo = (String) request.getParameter("motivo") == null ? "" : (String) request.getParameter("motivo");
 //out.println("<br> 1  -- "+motivo);
 String aniomotivo = "";
 String codigobaanmotivo = "";
 if (motivo.length()>4) {
	 aniomotivo = motivo.substring(motivo.indexOf("-")+1);
	 //out.println("<br> 1.1  -- "+aniomotivo);
	 codigobaanmotivo = motivo.substring(0,motivo.indexOf("-"));
	 //out.println("<br> 1.2  -- "+codigobaanmotivo);
 }
 IdLoteS = (String) request.getParameter("IdLote") == null ? "" : (String) request.getParameter("IdLote");
 //IdLote = Integer.parseInt(IdLoteS);
 //out.println("<br> 1.3 --  "+IdLoteS);
 
 origen = (String) request.getParameter("Origen") == null ? "" : (String) request.getParameter("Origen");
 //out.println("<br> 2   -- "+ origen);
 IdOrigenS = (String) request.getParameter("IdOrigen") == null ? "" : (String) request.getParameter("IdOrigen");
 //IdOrigen = Integer.parseInt(IdOrigenS);
 //out.println("<br> 2.1 -- "+ IdOrigenS);

 destino = (String) request.getParameter("Destino") == null ? "" : (String) request.getParameter("Destino");
 //out.println("<br> 3   -- "+ destino);
 IdDestinoS = (String) request.getParameter("IdDestino") == null ? "" : (String) request.getParameter("IdDestino");
 //IdDestino = Integer.parseInt(IdDestinoS);
 //out.println("<br> 3.1 -- "+ IdDestinoS);
 //---------------
 cargadesde = (String) request.getParameter("recepciondesde") == null ? "" : (String) request.getParameter("recepciondesde");
 //out.println("<br> 9  " + cargadesde);
 hasta = (String) request.getParameter("hasta") == null ? "" : (String) request.getParameter("hasta");
 //out.println("<br> 10 " + hasta);
 conciliadodesde = (String) request.getParameter("conciliaciondesde") == null ? "" : (String) request.getParameter("conciliaciondesde");
 //out.println("<br> 11  " + conciliadodesde);
 conciliadohasta = (String) request.getParameter("conciliadohasta") == null ? "" : (String) request.getParameter("conciliadohasta");
 //out.println("<br> 12 " + conciliadohasta);

 int banderafiltrar = 0;

	String anioaux = "";
	String mesaux = "";
	String diaaux = "";
	int inicioaux = 0;
	int finaux = 0;
 

String FechaCarga1 = "";
String FechaCarga2 = "";
String FechaCarga3 = "";
String FechaCarga4 = "";
 
 if (cargadesde.length()==10 && hasta.length()==10) {
 	FechaCarga1 = cargadesde;
 //---------------
	inicioaux = 0;
	finaux = 0;
	finaux = FechaCarga1.indexOf("/",inicioaux);
	diaaux = FechaCarga1.substring(inicioaux,finaux);
	inicioaux = finaux +1;
	finaux = FechaCarga1.indexOf("/",inicioaux);

	mesaux = FechaCarga1.substring(inicioaux,finaux);
	inicioaux = finaux +1;
	anioaux = FechaCarga1.substring(inicioaux,FechaCarga1.length());
//------------
	FechaCarga1 = mesaux+"/"+diaaux+"/"+anioaux;
	//out.println("<br> FechaCarga1  " + FechaCarga1);
//---------
	FechaCarga2 = hasta;
	inicioaux = 0;
	finaux = 0;
	finaux = FechaCarga2.indexOf("/",inicioaux);
	diaaux = FechaCarga2.substring(inicioaux,finaux);
	inicioaux = finaux +1;
	finaux = FechaCarga2.indexOf("/",inicioaux);
	mesaux = FechaCarga2.substring(inicioaux,finaux);
	inicioaux = finaux +1;
	anioaux = FechaCarga2.substring(inicioaux,FechaCarga2.length());
//------------
	FechaCarga2 = mesaux+"/"+diaaux+"/"+anioaux;
	//out.println("<br> FechaCarga2  " + FechaCarga2);
	
Date FECHAINIreq = new Date(FechaCarga1);
Date FECHAFINreq = new Date(FechaCarga2);
		   if (FECHAFINreq.before(FECHAINIreq)) {
			    out.print("<script>");
				out.print("alert('ERROR!!!...La Fecha de Fin de Factura es menor a la de Inicio. Por Favor Verifique los datos');");
				out.print("history.go(-1);");
				out.print("</script>");
			}	 
}
 
  
if (conciliadodesde.length()==10 && conciliadohasta.length()==10) {
	FechaCarga3 = conciliadodesde;
 //---------------
	inicioaux = 0;
	finaux = 0;
	finaux = FechaCarga3.indexOf("/",inicioaux);
	diaaux = FechaCarga3.substring(inicioaux,finaux);
	inicioaux = finaux +1;
	finaux = FechaCarga3.indexOf("/",inicioaux);

	mesaux = FechaCarga3.substring(inicioaux,finaux);
	inicioaux = finaux +1;
	anioaux = FechaCarga3.substring(inicioaux,FechaCarga3.length());
//------------
	FechaCarga3 = mesaux+"/"+diaaux+"/"+anioaux;
	//out.println("<br> FechaCarga3  " + FechaCarga3);
//---------
	FechaCarga4 = conciliadohasta;
	inicioaux = 0;
	finaux = 0;
	finaux = FechaCarga4.indexOf("/",inicioaux);
	diaaux = FechaCarga4.substring(inicioaux,finaux);
	inicioaux = finaux +1;
	finaux = FechaCarga4.indexOf("/",inicioaux);
	mesaux = FechaCarga4.substring(inicioaux,finaux);
	inicioaux = finaux +1;
	anioaux = FechaCarga4.substring(inicioaux,FechaCarga4.length());
//------------
	FechaCarga4 = mesaux+"/"+diaaux+"/"+anioaux;
	//out.println("<br> FechaCarga4  " + FechaCarga4);
	
Date FECHACONINIreq = new Date(FechaCarga3);
Date FECHACONFINreq = new Date(FechaCarga4);
		   if (FECHACONFINreq.before(FECHACONINIreq)) {
			    out.print("<script>");
				out.print("alert('ERROR!!!...La Fecha de Fin de Conciliacion es menor a la de Inicio. Por Favor Verifique los datos');");
				out.print("history.go(-1);");
				out.print("</script>");
			}	 
}
//out.println("<br> banderafiltrar "+banderafiltrar);
%>
<body bgcolor="#FFFFFF" text="#000000" background="images/fondo.jpg" leftmargin="0" topmargin="2">
  <form name="form1" action="concilTFM_repFact.jsp" method="post">
	<table border="0" cellpadding="0" cellspacing="0" align="center" width="80%">
      <tr align="center"> 
      <td colspan="9" class="titulos">Reporte de Facturas</td>
    </tr>
    <tr> 
      <td align="right" bgcolor="#D1DBDE">Motivo/Lote&nbsp;</td>
      <td bgcolor="#D1DBDE"> 
	   <%
		if (motivo.equals("")) {
 	  %>
        <input type="text" name="motivo" class="textfields" size="15" readonly onFocus="blur()" tabindex="-1">
		<input type=hidden name="IdLote">
		<input type=hidden name="B">
		<%
		 }
		 else {
		%>
        <input type="text" name="motivo" class="textfields" size="15" value="<%=motivo%>" readonly onFocus="blur()" tabindex="-1">
		<input type=hidden name="IdLote" value="<%=IdLoteS%>">
		<input type=hidden name="B">
		<%
		 }
		%>
        <a href="javascript:abrircatalogo3();"><img src="images/buscar.gif" border="0" width="15" height="15"></a></td>
      <td align="right" bgcolor="#D1DBDE">Origen&nbsp;</td>
      <td bgcolor="#D1DBDE" height="27">
	  <%
		if (origen.equals("")) {
 	  %>
        <input type="text" name="Origen" class="textfields" size="15" readonly onFocus="blur()" tabindex="-1">
		<input type=hidden name="IdOrigen">
		<input type=hidden name="A">
		<%
		 }
		 else {
		%>
        <input type="text" name="Origen" class="textfields" size="15" value="<%=origen%>"  readonly onFocus="blur()" tabindex="-1">
		<input type=hidden name="IdOrigen" value="<%=IdOrigenS%>">
		<input type=hidden name="A">
		<%
		 }
		%>
        <a href="javascript:abrircatalogo1();"><img src="images/buscar.gif" class="cursor" border="0" width="15" height="15"></a> 
		&nbsp;
      </td>
      <td align="right" bgcolor="#D1DBDE">Destino&nbsp;</td>
      <td height="27" bgcolor="#D1DBDE">
	  <%
		if (destino.equals("")) {
 	  %>
        <input type="text" name="Destino" class="textfields" size="15" readonly onFocus="blur()" tabindex="-1">
		<input type=hidden name="IdDestino">
		<input type=hidden name="B">
		<%
		 }
		 else {
		%>
        <input type="text" name="Destino" class="textfields" size="15" value="<%=destino%>" readonly onFocus="blur()" tabindex="-1">
		<input type=hidden name="IdDestino" value="<%=IdDestinoS%>">
		<input type=hidden name="B">
		<%
		 }
		%>
        <a href="javascript:abrircatalogo2();"><img src="images/buscar.gif" class="cursor" border="0" width="15" height="15"></a> 
		&nbsp;
      </td>
      <td bgcolor="#D1DBDE">
        <input type="radio" name="opciondespliegue" value="1" <%=checardetalle%> >
      </td>
      <td bgcolor="#D1DBDE">Detalle </td>
      <td bgcolor="#D1DBDE" align="right" width="55">
		<!--<input type="button" name="Filtrar" value="Filtrar" class="boton" onClick="javascript:filtrar()">-->
		<a href="javascript:filtrar()"><img src="images/bFiltrar.gif" border="0" alt="Filtrar" width="79" height="18"></a>
      </td>
    </tr>
    <tr>
      <td align="right" height="27" bgcolor="#D1DBDE">&nbsp;</td>
      <td align="right" height="27" bgcolor="#D1DBDE">&nbsp;</td>
      <td align="right" height="27" bgcolor="#B4C4C9">Fecha Factura De&nbsp;</td>
      <td bgcolor="#B4C4C9"> 
	  <%
		if (cargadesde.equals("")) {
	  	SimpleDateFormat dateformat2= new SimpleDateFormat("dd/MM/yyyy",Locale.US);
		Date Actual = new Date();
		String FechaHoy = "";
		  if (banderafiltrar==0) {
				FechaHoy = dateformat2.format(Actual);
			}
			else { FechaHoy = ""; }

 	  %>
        <input type="text" name="recepciondesde" class="textfields" size="15" readonly onFocus="blur()" tabindex="-1">
		<%
		 }
		 else {
		%>
        <input type="text" name="recepciondesde" class="textfields" value="<%=cargadesde%>" size="15"  readonly onFocus="blur()" tabindex="-1">
		<%
		 }
		%> 
		<a href="javascript:calendario(document.form1.recepciondesde,'imgFI_1')"><img src="images/calendar2.gif" name="imgFI_1" border="0" width="18" height="18"></a>
      </td>
      <td align="right" bgcolor="#B4C4C9">Hasta&nbsp;</td>
      <td bgcolor="#B4C4C9"> 
	  <%
		if (hasta.equals("")) {
			  	SimpleDateFormat dateformat2= new SimpleDateFormat("dd/MM/yyyy",Locale.US);
				Date Actual = new Date();
				String FechaHoy = "";
				  if (banderafiltrar==0) {
						FechaHoy = dateformat2.format(Actual);
					}
					else { FechaHoy = ""; }

 	  %>
        <input type="text" name="hasta" class="textfields"  size="15" readonly onFocus="blur()" tabindex="-1">
		<%
		 }
		 else {
		%>
        <input type="text" name="hasta" class="textfields" value="<%=hasta%>" size="15" readonly onFocus="blur()" tabindex="-1">
		<%
		 }
		%> 
		<a href="javascript:calendario(document.form1.hasta,'imgFI_2')"><img src="images/calendar2.gif" name="imgFI_2" border="0" width="18" height="18"></a>
		</td>
      <td bgcolor="#D1DBDE">
        <input type="radio" name="opciondespliegue" value="2" <%=checarconsolidado%> >
      </td>
      <td bgcolor="#D1DBDE">Consolidado</td>
      <td bgcolor="#D1DBDE">
        <!--<input type="button" name="Limpiar" value="Limpiar" class="boton" onClick="javascript:limpiar();">-->
		<a href="javascript:limpiar()"><img src="images/bLimForm.gif" border="0" alt="Limpiar Filtros" width="79" height="18"></a>
      </td>
    </tr>
    <tr>
      <td align="right" height="27" bgcolor="#D1DBDE">&nbsp;</td>
      <td align="right" height="27" bgcolor="#D1DBDE">&nbsp;</td>
      <td align="right" height="27" bgcolor="#B4C4C9">Fecha Conciliaci&oacute;n 
        De&nbsp;</td>
      <td bgcolor="#B4C4C9"> 
	  <%
		if (conciliadodesde.equals("")) {
	  	SimpleDateFormat dateformat2= new SimpleDateFormat("dd/MM/yyyy",Locale.US);
		Date Actual = new Date();
		String FechaHoy = "";
		  if (banderafiltrar==0) {
				FechaHoy = dateformat2.format(Actual);
			}
			else { FechaHoy = ""; }

 	  %>
        <input type="text" name="conciliaciondesde" class="textfields"  size="15" readonly onFocus="blur()" tabindex="-1">
		<%
		 }
		 else {
		%>
        <input type="text" name="conciliaciondesde" class="textfields" value="<%=conciliadodesde%>" size="15" readonly onFocus="blur()" tabindex="-1">
		<%
		 }
		%> 
		<a href="javascript:calendario(document.form1.conciliaciondesde,'imgFI_3')"><img src="images/calendar2.gif" name="imgFI_3" border="0" width="18" height="18"></a>
      </td>
      <td align="right" bgcolor="#B4C4C9">Hasta&nbsp;</td>
      <td bgcolor="#B4C4C9"> 
	  <%
		if (conciliadohasta.equals("")) {
			  	SimpleDateFormat dateformat2= new SimpleDateFormat("dd/MM/yyyy",Locale.US);
				Date Actual = new Date();
				String FechaHoy = "";
				  if (banderafiltrar==0) {
						FechaHoy = dateformat2.format(Actual);
					}
					else { FechaHoy = ""; }

 	  %>
        <input type="text" name="conciliadohasta" class="textfields"  size="15" readonly onFocus="blur()" tabindex="-1">
		<%
		 }
		 else {
		%>
        <input type="text" name="conciliadohasta" class="textfields" value="<%=conciliadohasta%>" size="15" readonly onFocus="blur()" tabindex="-1">
		<%
		 }
		%> 
		<a href="javascript:calendario(document.form1.conciliadohasta,'imgFI_4')"><img src="images/calendar2.gif" name="imgFI_4" border="0" width="18" height="18"></a>
		</td>
      <td bgcolor="#D1DBDE">&nbsp;</td>
      <td bgcolor="#D1DBDE">&nbsp;</td>
      <td bgcolor="#D1DBDE">&nbsp;</td>
    </tr>
	</table>
  </form>
  <br><br>
<form name="form2">
<Center>
<%
int inicio = 0;
int fin = 0;
String anio = "";
String mes = "";
String dia = "";

NumberFormat nf  = new DecimalFormat("#,###.###");
nf.setMinimumFractionDigits(3);

NumberFormat nf1 = NumberFormat.getInstance();
nf1.setMaximumIntegerDigits(9); 
nf1.setMaximumFractionDigits(2);
nf1.setMinimumFractionDigits(2); 
nf1.setMinimumIntegerDigits(3);

		Connection ConnRsDelRutas = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
		String queryDelRutas = "";
			    queryDelRutas += "DELETE FROM factconcil_rutas ";
				//out.print(queryDelRutas);
				PreparedStatement StatementRsDelRutas = ConnRsDelRutas.prepareStatement(queryDelRutas);
				StatementRsDelRutas.executeUpdate();
				ConnRsDelRutas.close();
	
		double TotalXRutaaux = 0.0;
		int loteaux = 0;
		String aniomotivoaux = "";
		String codigo_baanaux = "";			
		String descripcionaux = "";
		int Rutaaux = 0;
		String codigo_ruta = "";
		int alma_origen = 0;
		String nombre_almorigen = "";
		int alma_destino = 0;
		String nombre_almdestino = "";
		int NoUnidades = 0;
		int NoFactConcil = 0;
		Date FechaFact = new Date();
		Date FechaConcil = new Date();

		
			Connection ConnRsRutas = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
			String queryRutas = "SELECT SUM(CU.importe) AS SUMAXRUTA,"+
								" LU.lote,L.anio,L.codigo_baan,L.descripcion, "+
								" R.id_ruta,R.codigo,R.almacen_origen,R.almacen_destino, "+
								" COUNT(DISTINCT(U.id_unidad)) AS NUMUNIDS,U.fact_concil, "+
								" CF.factura,CF.fecha_factura,CF.fecha_sistema"+
								" FROM conciliacion CF  "+
								" INNER JOIN conciliacion_detalle CU "+
								" ON CU.conciliacion = CF.id_conciliacion"+
								" INNER JOIN unidad U "+
								" ON U.numero = CU.numero "+
								" AND U.inicial = CU.inicial "+
								" AND U.fecha_carga = CU.fecha "+
								" LEFT JOIN lote_unidad LU "+
								" ON LU.unidad = U.id_unidad "+
								" LEFT JOIN lote L "+
								" ON L.id_lote = LU.lote "+
								" LEFT JOIN ruta R "+
								" ON R.almacen_origen = U.almacen_origen "+
								" AND R.almacen_destino = U.almacen_destino "+
								" WHERE CF.estatus = 2"+
								" GROUP BY LU.lote,L.anio,L.codigo_baan,L.descripcion,"+ 
								" R.id_ruta,R.codigo,R.almacen_origen,R.almacen_destino, "+
								" U.fact_concil,CF.factura,CF.fecha_factura,CF.fecha_sistema";

/*			    queryRutas += "SELECT SUM(CU.importe) AS SUMAXRUTA, ";
				queryRutas += "LU.lote,L.anio,L.codigo_baan,L.descripcion, ";
			    queryRutas += "R.id_ruta,R.codigo,R.almacen_origen,R.almacen_destino, ";
				queryRutas += "COUNT(DISTINCT(U.id_unidad)) AS NUMUNIDS,U.fact_concil, ";
				queryRutas += "CF.no_factura,CF.fecha_factura,CF.fecha_conciliacion ";
				queryRutas += "FROM concil_fact CF  ";
				queryRutas += "INNER JOIN concil_unidad CU ";
				queryRutas += "ON CU.no_factsist = CF.no_sistema ";
				queryRutas += "INNER JOIN unidad U ";
				queryRutas += "ON U.numero = CU.numero ";
				queryRutas += "AND U.inicial = CU.inicial ";
				queryRutas += "AND U.fecha_carga = CU.fecha ";
				queryRutas += "LEFT JOIN lote_unidad LU ";
				queryRutas += "ON LU.unidad = U.id_unidad ";
				queryRutas += "LEFT JOIN lote L ";
				queryRutas += "ON L.id_lote = LU.lote ";
				queryRutas += "LEFT JOIN ruta R ";
				queryRutas += "ON R.almacen_origen = U.almacen_origen ";
				queryRutas += "AND R.almacen_destino = U.almacen_destino ";
				queryRutas += "WHERE CF.status = 'Conciliado' ";
				queryRutas += "GROUP BY LU.lote,L.anio,L.codigo_baan,L.descripcion, ";
				queryRutas += "R.id_ruta,R.codigo,R.almacen_origen,R.almacen_destino, ";
				queryRutas += "U.fact_concil,CF.no_factura,CF.fecha_factura,CF.fecha_conciliacion ";*/
				//out.print("<br>factconcil_ruta -> "+queryRutas+"<br>");
				PreparedStatement StatementRsRutas = ConnRsRutas.prepareStatement(queryRutas);
				ResultSet RsqueryRutas = StatementRsRutas.executeQuery();
				int contador_id = 0;
				while (RsqueryRutas!=null && RsqueryRutas.next()) {
					contador_id++;
					TotalXRutaaux = RsqueryRutas.getDouble("SUMAXRUTA");
					loteaux = RsqueryRutas.getInt("lote");
					aniomotivoaux = RsqueryRutas.getString("anio");
					codigo_baanaux = RsqueryRutas.getString("codigo_baan");
					descripcionaux = RsqueryRutas.getString("descripcion");
					Rutaaux = RsqueryRutas.getInt("id_ruta");
					codigo_ruta = RsqueryRutas.getString("codigo");
					alma_origen = RsqueryRutas.getInt("almacen_origen");
					Connection ConnRsOrigenDescrip = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
					String queryOrigenDescrip = "";
		    		   queryOrigenDescrip += "SELECT nombre FROM almacen ";
					   queryOrigenDescrip += "WHERE id_almacen = "+alma_origen+" ";
						//out.print(queryOrigenDescrip);
						PreparedStatement StatementRsOrigenDescrip = ConnRsOrigenDescrip.prepareStatement(queryOrigenDescrip);
						ResultSet RsqueryOrigenDescrip = StatementRsOrigenDescrip.executeQuery();
						if (RsqueryOrigenDescrip!=null && RsqueryOrigenDescrip.next()) {
							nombre_almorigen = RsqueryOrigenDescrip.getString("nombre");
							//out.println("<br> Codigo_Origen "+Codigo_Origen);
						}
					ConnRsOrigenDescrip.close();
					alma_destino = RsqueryRutas.getInt("almacen_destino");
			 		Connection ConnRsDestinoDescrip = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
					String queryDestinoDescrip = "";
		    			   queryDestinoDescrip += "SELECT nombre FROM almacen ";
						   queryDestinoDescrip += "WHERE id_almacen = "+alma_destino+" ";
							//out.print(queryDestinoDescrip);
					PreparedStatement StatementRsDestinoDescrip = ConnRsDestinoDescrip.prepareStatement(queryDestinoDescrip);
					ResultSet RsqueryDestinoDescrip = StatementRsDestinoDescrip.executeQuery();
					if (RsqueryDestinoDescrip!=null && RsqueryDestinoDescrip.next()) {
							nombre_almdestino = RsqueryDestinoDescrip.getString("nombre");
							//out.println("<br> Codigo_Destino "+Codigo_Destino);
					}
					ConnRsDestinoDescrip.close();
					NoUnidades = RsqueryRutas.getInt("NUMUNIDS");
					NoFactConcil = RsqueryRutas.getInt("fact_concil");
					FechaFact = RsqueryRutas.getDate("fecha_factura");
					FechaConcil = RsqueryRutas.getDate("fecha_sistema");
				  	SimpleDateFormat dateformat3 = new SimpleDateFormat("MM/dd/yyyy",Locale.US);
/*
			if (loteaux>0 && aniomotivoaux!=null && codigo_baanaux!=null && Rutaaux>0 && codigo_ruta!=null && alma_origen>0 &&	alma_destino>0) {
				Connection ConnRsInsRutas = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
				String queryInsRutas = "";
			    queryInsRutas += "INSERT INTO factconcil_rutas ";
				queryInsRutas += "(id_factconcilrutas, totalruta, lote, anio, codigo_baan, descrip, ";
				queryInsRutas += "ruta, codigo_ruta, almacen_origen, nombre_almorigen, almacen_destino, ";
				queryInsRutas += "nombre_almdestino, unidadesruta, nofact_concil, fechafact, fechaconcil) ";
			    queryInsRutas += "VALUES ";
				queryInsRutas += "("+contador_id+", "+TotalXRutaaux+", "+loteaux+", "+aniomotivoaux+", '"+codigo_baanaux+"', '"+descripcionaux+"', ";
				queryInsRutas += " "+Rutaaux+", '"+codigo_ruta+"', "+alma_origen+", '"+nombre_almorigen+"', "+alma_destino+", ";
				queryInsRutas += " '"+nombre_almdestino+"', "+NoUnidades+", "+NoFactConcil+",'"+dateformat3.format(FechaFact)+"','"+dateformat3.format(FechaConcil)+"' ) ";
				//out.print("<br>"+queryInsRutas);
				PreparedStatement StatementRsInsRutas = ConnRsInsRutas.prepareStatement(queryInsRutas);
				StatementRsInsRutas.executeUpdate();
				ConnRsInsRutas.close();
				}*/
			}				
		ConnRsRutas.close();
	%>
	
<%
int ContadorGrupo1 = 0;
if (!checardetalle.equals("") && checardetalle.equals("CHECKED")) {
	//out.print("<br><br>"+banderafiltrar+"<br>");
%>
  <table width="75%" border="0" cellspacing="0" cellpadding="0">
	<%		
//	out.println("loteaux>0 && aniomotivoaux!=null && codigo_baanaux!=null && Rutaaux>0 && codigo_ruta!=null && alma_origen>0 && alma_destino>0<br>");
//	out.println(""+loteaux+" && "+aniomotivoaux+" && "+codigo_baanaux+" && "+Rutaaux+" && "+codigo_ruta+" && "+alma_origen+" && "+alma_destino);
	if (loteaux>0 && aniomotivoaux!=null && codigo_baanaux!=null && Rutaaux>0 && codigo_ruta!=null && alma_origen>0 && alma_destino>0) {

		String MotivoLotenuevo ="";
		String MotivoLoteant = "";
		
		String anio_lote = "";
		String codigo_baan = "";
		String descripcion = "";
		double TotalMotivo = 0.0;
		double TotalMotivoaux = 0.0;

		Connection ConnRsMotivoLote = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
			String queryMotivoLote = "";
			    queryMotivoLote += "SELECT COUNT(DISTINCT(U.id_unidad)) AS NUMUNIDS, ";
				queryMotivoLote += "LU.lote,L.anio,L.codigo_baan,L.descripcion ";
				queryMotivoLote += "FROM conciliacion CF  ";
				queryMotivoLote += "INNER JOIN conciliacion_detalle CU ";
				queryMotivoLote += "ON CU.conciliacion = CF.id_conciliacion ";
				queryMotivoLote += "INNER JOIN unidad U ";
				queryMotivoLote += "ON U.numero = CU.numero ";
				queryMotivoLote += "AND U.inicial = CU.inicial ";
				queryMotivoLote += "AND U.fecha_carga = CU.fecha ";
				queryMotivoLote += "LEFT JOIN lote_unidad LU ";
				queryMotivoLote += "ON LU.unidad = U.id_unidad ";
				queryMotivoLote += "LEFT JOIN lote L ";
				queryMotivoLote += "ON L.id_lote = LU.lote ";
				queryMotivoLote += "WHERE CF.estatus = 2 ";
			/*    queryMotivoLote += "SELECT COUNT(DISTINCT(U.id_unidad)) AS NUMUNIDS, ";
				queryMotivoLote += "LU.lote,L.anio,L.codigo_baan,L.descripcion ";
				queryMotivoLote += "FROM concil_fact CF  ";
				queryMotivoLote += "INNER JOIN concil_unidad CU ";
				queryMotivoLote += "ON CU.no_factsist = CF.no_sistema ";
				queryMotivoLote += "INNER JOIN unidad U ";
				queryMotivoLote += "ON U.numero = CU.numero ";
				queryMotivoLote += "AND U.inicial = CU.inicial ";
				queryMotivoLote += "AND U.fecha_carga = CU.fecha ";
				queryMotivoLote += "LEFT JOIN lote_unidad LU ";
				queryMotivoLote += "ON LU.unidad = U.id_unidad ";
				queryMotivoLote += "LEFT JOIN lote L ";
				queryMotivoLote += "ON L.id_lote = LU.lote ";
				queryMotivoLote += "WHERE CF.status = 'Conciliado' ";*/
				
				//------ idLote Unidad
				if (IdLoteS!=null && !IdLoteS.equals("")) {
					queryMotivoLote += "AND LU.lote = "+IdLoteS+" ";
					queryMotivoLote += "AND L.anio = "+aniomotivo+" ";
					queryMotivoLote += "AND L.codigo_baan = '"+codigobaanmotivo+"' ";
				}

				queryMotivoLote += " GROUP BY LU.lote,L.anio,L.codigo_baan,L.descripcion ";
//				out.print("<br>MotivoLote -> "+queryMotivoLote+"<br><br>");
//				if(true)return; //Comentado por Jorge Rivas
				PreparedStatement StatementRsMotivoLote = ConnRsMotivoLote.prepareStatement(queryMotivoLote);
				ResultSet RsqueryMotivoLote = StatementRsMotivoLote.executeQuery();
				while(RsqueryMotivoLote!=null && RsqueryMotivoLote.next()) {
					TotalMotivo = 0.0;
					TotalMotivoaux = 0.0;
					ContadorGrupo1++;
					Grupo1Visible = 10;
					anio_lote = RsqueryMotivoLote.getString("anio");
					codigo_baan = RsqueryMotivoLote.getString("codigo_baan");
					descripcion = RsqueryMotivoLote.getString("descripcion");
					MotivoLotenuevo = anio_lote+"&nbsp;"+codigo_baan+"&nbsp;"+descripcion;
	%>
    <tr> 
      <td class="etiqueta" align="right">Motivo/Lote&nbsp;</td>
      <td class="textcolumna"><b><font color="#612721"><%=MotivoLotenuevo%></font></b></td>
      <td width="60" class="textcolumna">&nbsp;</td>
      <td width="60" class="textcolumna">&nbsp;</td>
    </tr>
	<%
		int almacen_origen = 0;
		String Codigo_Origen = "";
		int almacen_destino = 0;
		String Codigo_Destino = "";
		int no_factconcil = 0;
		
			Connection ConnRsRuta1 = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
			String queryRuta1 = "";
			    queryRuta1 += "SELECT SUM(CU.importe) AS SUMAXRUTA,"+
									" LU.lote,L.anio,L.codigo_baan,L.descripcion, "+
									" R.id_ruta,R.codigo,R.almacen_origen,R.almacen_destino, "+
									" almacen.nombre AS nombre_almorigen,"+
									" almacenD.nombre AS nombre_almdestino,"+
									" COUNT(DISTINCT(U.id_unidad)) AS NUMUNIDS,U.fact_concil, "+
									" CF.fecha_factura,CF.fecha_sistema"+
									" FROM conciliacion CF  "+
									" INNER JOIN conciliacion_detalle CU "+
									" ON CU.conciliacion = CF.id_conciliacion"+
									" INNER JOIN unidad U "+
									" ON U.numero = CU.numero "+
									" AND U.inicial = CU.inicial "+
									" AND U.fecha_carga = CU.fecha "+
									" LEFT JOIN lote_unidad LU "+
									" ON LU.unidad = U.id_unidad "+
									" LEFT JOIN lote L "+
									" ON L.id_lote = LU.lote "+
									" LEFT JOIN ruta R "+
									" ON R.almacen_origen = U.almacen_origen "+
									" AND R.almacen_destino = U.almacen_destino "+
									" LEFT JOIN almacen on almacen.id_almacen = R.almacen_origen"+
									" LEFT JOIN almacen almacenD on almacenD.id_almacen = R.almacen_destino"+
									" WHERE CF.estatus = 2"+
									" AND lote > 0"+
									" AND id_ruta > 0"+
									" AND r.codigo IS NOT NULL"+
									" AND R.almacen_origen > 0"+
									" AND R.almacen_destino > 0";

				queryRuta1 += " AND anio = "+anio_lote+" ";
				queryRuta1 += "AND codigo_baan = '"+codigo_baan+"' ";
				queryRuta1 += "AND descripCION = '"+descripcion+"' ";
				queryRuta1 += "AND fact_concil > 0 ";

				//------ idLote Unidad
				if (IdLoteS!=null && !IdLoteS.equals("")) {
					queryRuta1 += "AND lote = "+IdLoteS+" ";
					queryRuta1 += "AND anio = "+aniomotivo+" ";
					queryRuta1 += "AND codigo_baan = '"+codigobaanmotivo+"' ";
				}
				//------ idOrigen
				if (IdOrigenS!=null && !IdOrigenS.equals("")) {
					queryRuta1 += "AND r.almacen_origen = "+IdOrigenS+" ";
				}
				//------ idDestino
				if (IdDestinoS!=null && !IdDestinoS.equals("")) {
					queryRuta1 += "AND r.almacen_destino = "+IdDestinoS+" ";
				}
				//------- fecha factura desde
				if (FechaCarga1!=null && !FechaCarga1.equals("")) {
					queryRuta1 += "AND fecha_factura >= '"+FechaCarga1+"' ";
				}
				//------- fecha factura hasta
				if (FechaCarga2!=null && !FechaCarga2.equals("")) {
					queryRuta1 += "AND fecha_factura <= '"+FechaCarga2+"' ";
				}
				//------- fecha conciliacion desde
				if (FechaCarga3!=null && !FechaCarga3.equals("")) {
					queryRuta1 += "AND fecha_sistema >= '"+FechaCarga3+"' ";
				}
				//------- fecha conciliacion hasta
				if (FechaCarga4!=null && !FechaCarga4.equals("")) {
					queryRuta1 += "AND fecha_sistema <= '"+FechaCarga4+"' ";
				}
				queryRuta1 +=" GROUP BY LU.lote,L.anio,L.codigo_baan,L.descripcion,"+ 
				" R.id_ruta,R.codigo,R.almacen_origen,R.almacen_destino, almacen.nombre, almacenD.nombre,"+
				" U.fact_concil,CF.factura,CF.fecha_factura,CF.fecha_sistema";
//				out.print("<br>queryRuta1 -> "+queryRuta1+"<br>");
				PreparedStatement StatementRsRuta1 = ConnRsRuta1.prepareStatement(queryRuta1);
				ResultSet RsqueryRuta1 = StatementRsRuta1.executeQuery();
				while(RsqueryRuta1!=null && RsqueryRuta1.next()) {
					almacen_origen = RsqueryRuta1.getInt("almacen_origen");
					//out.println("<br>"+almacen_origen);
					Codigo_Origen = RsqueryRuta1.getString("nombre_almorigen");
					//out.println("<br>"+Codigo_Origen);
					almacen_destino = RsqueryRuta1.getInt("almacen_destino");
					//out.println("<br>"+almacen_destino);
					Codigo_Destino = RsqueryRuta1.getString("nombre_almdestino");
					//out.println("<br>"+Codigo_Destino);
					no_factconcil = RsqueryRuta1.getInt("fact_concil");
					//out.println("<br>"+no_factconcil); 
	%>
    <tr> 
      <td class="etiqueta" align="right">Ruta&nbsp;</td>
      <td class="textcolumna"><%=Codigo_Origen%> - <%=Codigo_Destino%></td>
      <td class="textcolumna">&nbsp;</td>
      <td class="textcolumna">&nbsp;</td>
    </tr>
	<tr> 
      <td class="textcolumna">&nbsp;</td>
      <td align="center" class="textcolumna"> 
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td class="titcolumna">&nbsp;</td>
            <td align="center" class="titcolumna">F. Factura</td>
            <td align="center" class="titcolumna">Inicial</td>
            <td align="center" class="titcolumna">N&uacute;mero</td>
            <td align="center" class="titcolumna">Gu&iacute;a</td>
            <td align="center" class="titcolumna">Importe Fact.</td>
            <td align="center" class="titcolumna">Factura</td>
            <td align="center" class="titcolumna">F. Concil.</td>
          </tr>
	  <%
		int IdUnidad = 0;
		Date fechafactura = new Date();
		String Numero = "";
		String Inicial = "";
		String Guia = "";
		double ImporteFact = 0.0;
		double TotalRuta = 0.0;
		String NoFactura = "";
		Date fechaconcil = new Date();
			Connection ConnRsUnidadesRutaMotivo = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
			String queryUnidadesRutaMotivo = "";
			    queryUnidadesRutaMotivo += "SELECT DISTINCT(U.id_unidad),U.inicial AS InicialUnidad, ";
				queryUnidadesRutaMotivo += "U.numero AS NumeroUnidad,U.no_guia,U.almacen_origen AS AOU,  ";
				queryUnidadesRutaMotivo += "U.almacen_destino AS ADU,U.fecha_carga,U.fact_concil, ";
				queryUnidadesRutaMotivo += "CF.id_conciliacion,CF.factura,CF.fecha_factura,CF.fecha_sistema,CF.estatus, ";
				queryUnidadesRutaMotivo += "CU.numero,CU.inicial,CU.fecha, ";
				queryUnidadesRutaMotivo += "CU.almacen_destino AS ADF, CU.importe AS ImporteUnidad,CU.iva,CU.total, ";
				queryUnidadesRutaMotivo += "LU.lote,L.anio,L.codigo_baan,L.descripcion, ";
				queryUnidadesRutaMotivo += "R.id_ruta,R.codigo,R.almacen_origen AS RAO, R.almacen_destino AS RAD ";
				queryUnidadesRutaMotivo += "FROM CONCILIACION CF ";
				queryUnidadesRutaMotivo += "INNER JOIN conciliacion_detalle CU ";
				queryUnidadesRutaMotivo += "ON CU.conciliacion = CF.id_conciliacion ";
				queryUnidadesRutaMotivo += "INNER JOIN unidad U ";
				queryUnidadesRutaMotivo += "ON U.numero = CU.numero  ";
				queryUnidadesRutaMotivo += "AND U.inicial = CU.inicial  ";
				queryUnidadesRutaMotivo += "AND U.fecha_carga = CU.fecha ";
				queryUnidadesRutaMotivo += "LEFT JOIN lote_unidad LU ";
				queryUnidadesRutaMotivo += "ON LU.unidad = U.id_unidad ";
				queryUnidadesRutaMotivo += "LEFT JOIN lote L ";
				queryUnidadesRutaMotivo += "ON L.id_lote = LU.lote ";
				queryUnidadesRutaMotivo += "LEFT JOIN ruta R ";
				queryUnidadesRutaMotivo += "ON R.almacen_origen = U.almacen_origen ";
				queryUnidadesRutaMotivo += "AND R.almacen_destino = U.almacen_destino ";
				queryUnidadesRutaMotivo += "WHERE CF.estatus = 2 ";
				queryUnidadesRutaMotivo += "AND U.fact_concil = "+no_factconcil+" ";
				queryUnidadesRutaMotivo += "AND U.fact_concil IS NOT NULL ";
				queryUnidadesRutaMotivo += "AND L.anio = "+anio_lote+" ";
				queryUnidadesRutaMotivo += "AND L.codigo_baan = '"+codigo_baan+"' ";
				queryUnidadesRutaMotivo += "AND L.descripcion = '"+descripcion+"' ";
				//}
				//out.print("<br>UnidadesRutaMotivo -> "+queryUnidadesRutaMotivo+"<br>");
				PreparedStatement StatementRsUnidadesRutaMotivo = ConnRsUnidadesRutaMotivo.prepareStatement(queryUnidadesRutaMotivo);
				ResultSet RsqueryUnidadesRutaMotivo = StatementRsUnidadesRutaMotivo.executeQuery();
				int ContadorUnidad = 0;

				while(RsqueryUnidadesRutaMotivo!=null && RsqueryUnidadesRutaMotivo.next()) {
					ContadorUnidad++;
					IdUnidad = RsqueryUnidadesRutaMotivo.getInt("id_unidad");
					//out.println("<br> ID : "+IdUnidad);
					Inicial = RsqueryUnidadesRutaMotivo.getString("InicialUnidad");
					//out.println("<br> Inicial : "+Inicial);
					Numero = RsqueryUnidadesRutaMotivo.getString("NumeroUnidad");
					//out.println("<br> Numero : "+Numero);
					Guia = RsqueryUnidadesRutaMotivo.getString("no_guia");
					//out.println("<br> Guia : "+Guia);
					NoFactura = RsqueryUnidadesRutaMotivo.getString("factura");
					//out.println("<br> NoFactura : "+NoFactura);
					ImporteFact = RsqueryUnidadesRutaMotivo.getDouble("ImporteUnidad");
					//out.println("<br> ImporteFact : "+ImporteFact);
					TotalRuta = TotalRuta+ImporteFact;
					//out.println("<br> TotalRuta : "+TotalRuta);
					fechafactura = RsqueryUnidadesRutaMotivo.getDate("fecha_factura");
					//out.println("<br> fechafactura : "+fechafactura);
					fechaconcil = RsqueryUnidadesRutaMotivo.getDate("fecha_sistema");
					//out.println("<br> FechaConcil : "+fechaconcil);
		%>
          <tr> 
            <td align="center" class="textcolumna"><%=ContadorUnidad%></td>
            <td align="center" class="textcolumna"><%=fechafactura%></td>
            <td align="center" class="textcolumna"><%=Inicial%></td>
            <td align="right" class="textcolumna"><%=Numero%></td>
            <td align="right" class="textcolumna"><%=Guia%></td>
            <td align="right" class="textcolumna"><%=ImporteFact%></td>
            <td align="right" class="textcolumna"><%=NoFactura%></td>
            <td align="center" class="textcolumna"><%=fechaconcil%></td>
          </tr>
		  	<%
			}
			TotalMotivo = TotalMotivo+TotalRuta;
			//out.println("<br> --- " + TotalMotivo);
			%>
        </table>
      </td>
      <td class="textcolumna">&nbsp;</td>
      <td class="textcolumna">&nbsp;</td>
    </tr>
    <tr> 
      <td class="textcolumna">&nbsp;</td>
      <td align="right" class="textcolumna"> Total Ruta&nbsp;</td>
      <td align="right" class="resultado">$&nbsp;<%=nf1.format(TotalRuta)%></td>
      <td class="textcolumna">&nbsp;</td>
    </tr>
	<%
		} //fin del While para Rutas del Motivo Lote
	%>
    <tr> 
      <td class="textcolumna">&nbsp;</td>
      <td align="right" class="textcolumna">Total Motivo/Lote&nbsp;</td>
      <td class="resultado">&nbsp;</td>
      <td class="resultado" align="right">$&nbsp;<%=nf1.format(TotalMotivo)%></td>
    </tr>
	<%
		} //fin del While para MotivoLote
	} //fin del if para Motivo Lote != null 		
	%>
<!------------------------------------------------------------------------------------>
    </table>
<%
}
 else if (Grupo1Visible>0) {
 %>
 <br><br><br><br><br>
<table width="50%" border="0" cellpadding="0" cellspacing="0">
  <tr> 
        <td class="titulos" align="Center"><b>No existen Facturas Conciliadas 
          no es posible mostrar Datos.</b></td>
  </tr>
</table>
  <%
  }
  %>
<%
if (!checarconsolidado.equals("") && checarconsolidado.equals("CHECKED")) 
 {
%>
  <table width="50%" border="0" cellspacing="0" cellpadding="0">
	<%		
		String MotivoLotenuevo ="";
		String MotivoLoteant = "";
		
		String anio_lote = "";
		String codigo_baan = "";
		String descripcion = "";
		double TotalMotivo = 0.0;
		double TotalMotivoaux = 0.0;

		Connection ConnRsMotivoLote = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
			String queryMotivoLote = "";
			    queryMotivoLote += "SELECT COUNT(DISTINCT(U.id_unidad)) AS NUMUNIDS, ";
				queryMotivoLote += "LU.lote,L.anio,L.codigo_baan,L.descripcion ";
				queryMotivoLote += "FROM conciliacion CF  ";
				queryMotivoLote += "INNER JOIN conciliacion_detalle CU ";
				queryMotivoLote += "ON CU.conciliacion = CF.id_conciliacion ";
				queryMotivoLote += "INNER JOIN unidad U ";
				queryMotivoLote += "ON U.numero = CU.numero ";
				queryMotivoLote += "AND U.inicial = CU.inicial ";
				queryMotivoLote += "AND U.fecha_carga = CU.fecha ";
				queryMotivoLote += "LEFT JOIN lote_unidad LU ";
				queryMotivoLote += "ON LU.unidad = U.id_unidad ";
				queryMotivoLote += "LEFT JOIN lote L ";
				queryMotivoLote += "ON L.id_lote = LU.lote ";
				queryMotivoLote += "WHERE CF.estatus = 2 ";

				//------ idLote Unidad
				if (IdLoteS!=null && !IdLoteS.equals("")) {
					queryMotivoLote += "AND LU.lote = "+IdLoteS+" ";
					queryMotivoLote += "AND L.anio = "+aniomotivo+" ";
					queryMotivoLote += "AND L.codigo_baan = '"+codigobaanmotivo+"' ";
				}

				queryMotivoLote += "GROUP BY LU.lote,L.anio,L.codigo_baan,L.descripcion ";
				//out.print("<br>MotivoLote Cons -> "+queryMotivoLote+"<br>");
				//if(true)return;
				PreparedStatement StatementRsMotivoLote = ConnRsMotivoLote.prepareStatement(queryMotivoLote);
				ResultSet RsqueryMotivoLote = StatementRsMotivoLote.executeQuery();
				while(RsqueryMotivoLote!=null && RsqueryMotivoLote.next()) {
					TotalMotivo = 0.0;
					TotalMotivoaux = 0.0;
					ContadorGrupo1++;
					Grupo2Visible= 10;
					anio_lote = RsqueryMotivoLote.getString("anio");
					codigo_baan = RsqueryMotivoLote.getString("codigo_baan");
					descripcion = RsqueryMotivoLote.getString("descripcion");
					MotivoLotenuevo = anio_lote+"&nbsp;"+codigo_baan+"&nbsp;"+descripcion;
	%>
    <tr> 
      <td class="etiqueta" align="right">Motivo/Lote&nbsp;</td>
      <td class="textcolumna"><b><font color="#612721"><%=MotivoLotenuevo%></font></b></td>
      <td width="60" class="textcolumna">&nbsp;</td>
      <td width="60" class="textcolumna">&nbsp;</td>
    </tr>
	<%
		int almacen_origen = 0;
		String Codigo_Origen = "";
		int almacen_destino = 0;
		String Codigo_Destino = "";
		int no_factconcil = 0;
		
			Connection ConnRsRuta1 = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
			String queryRuta1 = "";
			    queryRuta1 += "SELECT SUM(CU.importe) AS SUMAXRUTA,"+
									" LU.lote,L.anio,L.codigo_baan,L.descripcion, "+
									" R.id_ruta,R.codigo,R.almacen_origen,R.almacen_destino, "+
									" almacen.nombre AS nombre_almorigen,"+
									" almacenD.nombre AS nombre_almdestino,"+
									" COUNT(DISTINCT(U.id_unidad)) AS NUMUNIDS,U.fact_concil, "+
									" CF.fecha_factura,CF.fecha_sistema"+
									" FROM conciliacion CF  "+
									" INNER JOIN conciliacion_detalle CU "+
									" ON CU.conciliacion = CF.id_conciliacion"+
									" INNER JOIN unidad U "+
									" ON U.numero = CU.numero "+
									" AND U.inicial = CU.inicial "+
									" AND U.fecha_carga = CU.fecha "+
									" LEFT JOIN lote_unidad LU "+
									" ON LU.unidad = U.id_unidad "+
									" LEFT JOIN lote L "+
									" ON L.id_lote = LU.lote "+
									" LEFT JOIN ruta R "+
									" ON R.almacen_origen = U.almacen_origen "+
									" AND R.almacen_destino = U.almacen_destino "+
									" LEFT JOIN almacen on almacen.id_almacen = R.almacen_origen"+
									" LEFT JOIN almacen almacenD on almacenD.id_almacen = R.almacen_destino"+
									" WHERE CF.estatus = 2"+
									" AND lote > 0"+
									" AND id_ruta > 0"+
									" AND r.codigo IS NOT NULL"+
									" AND R.almacen_origen > 0"+
									" AND R.almacen_destino > 0";

				queryRuta1 += " AND anio = "+anio_lote+" ";
				queryRuta1 += "AND codigo_baan = '"+codigo_baan+"' ";
				queryRuta1 += "AND descripCION = '"+descripcion+"' ";
				queryRuta1 += "AND fact_concil > 0 ";


				//------ idLote Unidad
				if (IdLoteS!=null && !IdLoteS.equals("")) {
					queryRuta1 += "AND lote = "+IdLoteS+" ";
					queryRuta1 += "AND anio = "+aniomotivo+" ";
					queryRuta1 += "AND codigo_baan = '"+codigobaanmotivo+"' ";
				}
				//------ idOrigen
				if (IdOrigenS!=null && !IdOrigenS.equals("")) {
					queryRuta1 += "AND r.almacen_origen = "+IdOrigenS+" ";
				}
				//------ idDestino
				if (IdDestinoS!=null && !IdDestinoS.equals("")) {
					queryRuta1 += "AND r.almacen_destino = "+IdDestinoS+" ";
				}
				//------- fecha factura desde
				if (FechaCarga1!=null && !FechaCarga1.equals("")) {
					queryRuta1 += "AND fecha_factura >= '"+FechaCarga1+"' ";
				}
				//------- fecha factura hasta
				if (FechaCarga2!=null && !FechaCarga2.equals("")) {
					queryRuta1 += "AND fecha_factura <= '"+FechaCarga2+"' ";
				}
				//------- fecha conciliacion desde
				if (FechaCarga3!=null && !FechaCarga3.equals("")) {
					queryRuta1 += "AND fecha_sistema >= '"+FechaCarga3+"' ";
				}
				//------- fecha conciliacion hasta
				if (FechaCarga4!=null && !FechaCarga4.equals("")) {
					queryRuta1 += "AND fecha_sistema <= '"+FechaCarga4+"' ";
				}
				queryRuta1 +=" GROUP BY LU.lote,L.anio,L.codigo_baan,L.descripcion,"+ 
				" R.id_ruta,R.codigo,R.almacen_origen,R.almacen_destino,  almacen.nombre, almacenD.nombre,"+
				" U.fact_concil,CF.factura,CF.fecha_factura,CF.fecha_sistema";				
				
				//out.print("<br>queryRuta1 Cons -> "+queryRuta1+"<br>");
				PreparedStatement StatementRsRuta1 = ConnRsRuta1.prepareStatement(queryRuta1);
				ResultSet RsqueryRuta1 = StatementRsRuta1.executeQuery();
				while(RsqueryRuta1!=null && RsqueryRuta1.next()) {
					almacen_origen = RsqueryRuta1.getInt("almacen_origen");
					//out.println("<br>"+almacen_origen);
					Codigo_Origen = RsqueryRuta1.getString("nombre_almorigen");
					//out.println("<br>"+Codigo_Origen);
					almacen_destino = RsqueryRuta1.getInt("almacen_destino");
					//out.println("<br>"+almacen_destino);
					Codigo_Destino = RsqueryRuta1.getString("nombre_almdestino");
					//out.println("<br>"+Codigo_Destino);
					no_factconcil = RsqueryRuta1.getInt("fact_concil");
					//out.println("<br>"+no_factconcil); 
	%>
    <tr> 
      <td class="etiqueta" align="right">Ruta&nbsp;</td>
      <td class="textcolumna"><%=Codigo_Origen%> - <%=Codigo_Destino%></td>
      <td class="textcolumna">&nbsp;</td>
      <td class="textcolumna">&nbsp;</td>
    </tr>
	  <%
		int IdUnidad = 0;
		Date fechafactura = new Date();
		String Numero = "";
		String Inicial = "";
		String Guia = "";
		double ImporteFact = 0.0;
		double TotalRuta = 0.0;
		String NoFactura = "";
		Date fechaconcil = new Date();
			Connection ConnRsUnidadesRutaMotivo = DriverManager.getConnection(MM_conDB_STRING,MM_conDB_USERNAME,MM_conDB_PASSWORD);
			String queryUnidadesRutaMotivo = "";
			    queryUnidadesRutaMotivo += "SELECT DISTINCT(U.id_unidad),U.inicial AS InicialUnidad, ";
				queryUnidadesRutaMotivo += "U.numero AS NumeroUnidad,U.no_guia,U.almacen_origen AS AOU,  ";
				queryUnidadesRutaMotivo += "U.almacen_destino AS ADU,U.fecha_carga,U.fact_concil, ";
				queryUnidadesRutaMotivo += "CF.id_conciliacion,CF.factura,CF.fecha_factura,CF.fecha_sistema, CF.estatus, ";
				queryUnidadesRutaMotivo += "CU.numero,CU.inicial,CU.fecha, ";
				queryUnidadesRutaMotivo += "CU.almacen_destino AS ADF, CU.importe AS ImporteUnidad,CU.iva,CU.total, ";
				queryUnidadesRutaMotivo += "LU.lote,L.anio,L.codigo_baan,L.descripcion, ";
				queryUnidadesRutaMotivo += "R.id_ruta,R.codigo,R.almacen_origen AS RAO, R.almacen_destino AS RAD ";
				queryUnidadesRutaMotivo += "FROM conciliacion CF ";
				queryUnidadesRutaMotivo += "INNER JOIN conciliacion_detalle CU ";
				queryUnidadesRutaMotivo += "ON CU.conciliacion = CF.id_conciliacion ";
				queryUnidadesRutaMotivo += "INNER JOIN unidad U ";
				queryUnidadesRutaMotivo += "ON U.numero = CU.numero  ";
				queryUnidadesRutaMotivo += "AND U.inicial = CU.inicial  ";
				queryUnidadesRutaMotivo += "AND U.fecha_carga = CU.fecha ";
				queryUnidadesRutaMotivo += "LEFT JOIN lote_unidad LU ";
				queryUnidadesRutaMotivo += "ON LU.unidad = U.id_unidad ";
				queryUnidadesRutaMotivo += "LEFT JOIN lote L ";
				queryUnidadesRutaMotivo += "ON L.id_lote = LU.lote ";
				queryUnidadesRutaMotivo += "LEFT JOIN ruta R ";
				queryUnidadesRutaMotivo += "ON R.almacen_origen = U.almacen_origen ";
				queryUnidadesRutaMotivo += "AND R.almacen_destino = U.almacen_destino ";
				queryUnidadesRutaMotivo += "WHERE CF.estatus = 2 ";
				queryUnidadesRutaMotivo += "AND U.fact_concil = "+no_factconcil+" ";
				queryUnidadesRutaMotivo += "AND U.fact_concil IS NOT NULL ";
				queryUnidadesRutaMotivo += "AND L.anio = "+anio_lote+" ";
				queryUnidadesRutaMotivo += "AND L.codigo_baan = '"+codigo_baan+"' ";
				queryUnidadesRutaMotivo += "AND L.descripcion = '"+descripcion+"' ";
				//out.print("<br>UnidadesRuta Cons -> "+queryUnidadesRutaMotivo+"<br>");
				PreparedStatement StatementRsUnidadesRutaMotivo = ConnRsUnidadesRutaMotivo.prepareStatement(queryUnidadesRutaMotivo);
				ResultSet RsqueryUnidadesRutaMotivo = StatementRsUnidadesRutaMotivo.executeQuery();
				int ContadorUnidad = 0;
				while(RsqueryUnidadesRutaMotivo!=null && RsqueryUnidadesRutaMotivo.next()) {
					ContadorUnidad++;
					IdUnidad = RsqueryUnidadesRutaMotivo.getInt("id_unidad");
					//out.println("<br> ID : "+IdUnidad);
					Inicial = RsqueryUnidadesRutaMotivo.getString("InicialUnidad");
					//out.println("<br> Inicial : "+Inicial);
					Numero = RsqueryUnidadesRutaMotivo.getString("NumeroUnidad");
					//out.println("<br> Numero : "+Numero);
					Guia = RsqueryUnidadesRutaMotivo.getString("no_guia");
					//out.println("<br> Guia : "+Guia);
					NoFactura = RsqueryUnidadesRutaMotivo.getString("factura");
					//out.println("<br> NoFactura : "+NoFactura);
					ImporteFact = RsqueryUnidadesRutaMotivo.getDouble("ImporteUnidad");
					//out.println("<br> ImporteFact : "+ImporteFact);
					TotalRuta = TotalRuta+ImporteFact;
					//out.println("<br> TotalRuta : "+TotalRuta);
					fechafactura = RsqueryUnidadesRutaMotivo.getDate("fecha_factura");
					//out.println("<br> fechafactura : "+fechafactura);
					fechaconcil = RsqueryUnidadesRutaMotivo.getDate("fecha_sistema");
					//out.println("<br> FechaConcil : "+fechaconcil);
			}
			TotalMotivo = TotalMotivo+TotalRuta;
			//out.println("<br> --- " + TotalMotivo);
			%>
    <tr> 
      <td class="textcolumna">&nbsp;</td>
      <td align="right" class="textcolumna"> Total Ruta&nbsp;</td>
      <td align="right" class="resultado">$&nbsp;<%=nf1.format(TotalRuta)%></td>
      <td class="textcolumna">&nbsp;</td>
    </tr>
	<%
		} //fin del While para Rutas del Motivo Lote
	%>
    <tr> 
      <td class="textcolumna">&nbsp;</td>
      <td align="right" class="textcolumna">Total Motivo/Lote&nbsp;</td>
      <td class="resultado">&nbsp;</td>
      <td class="resultado" align="right">$&nbsp;<%=nf1.format(TotalMotivo)%></td>
    </tr>
	<%
		} //fin del While para MotivoLote
	%>
<!------------------------------------------------------------------------------------>
    </table>
<%
 } //fin del else if (ChecarConsolidado es la opcion checada)
 else if (Grupo2Visible>0) {
 %>
 <br><br><br><br><br>
<table width="50%" border="0" cellpadding="0" cellspacing="0">
  <tr> 
        <td class="titulos" align="Center"><b>No existen Facturas Conciliadas 
          no es posible mostrar Datos.</b></td>
  </tr>
</table>
  <%
 }
  %>
<%
if (Grupo1Visible==0 && Grupo1Visible==0 && ContadorGrupo1==0) {
 %>
 <br><br><br><br><br>
<table width="50%" border="0" cellpadding="0" cellspacing="0">
  <tr> 
        <td class="titulos" align="Center"><b>No Hay Facturas Conciliadas 
          Correctamente, No Existe Relacion con Motivo Lote</b></td>
  </tr>
</table>
  <%
  }
  %>
<br><br><br><br><br><br><br>
</Center>
</form>
</body>
</html>
